//package com.example.myapplication.adapter;
//
//import android.content.Context;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.TextView;
//
//import androidx.annotation.NonNull;
//import androidx.recyclerview.widget.RecyclerView;
//
//import com.example.myapplication.R;
//import com.example.myapplication.entity.Msg;
//
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.List;
//
//public class MsgAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
//
//    private Context mContext;
//    private List<Msg> dataList;//消息队列
//    private String currentDate;//当前日期
//    private String beforeDate;//昨天
//
//    public MsgAdapter(Context context, List<Msg> data) {
//        mContext = context;
//        dataList =data;
//        SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
//        Date date = new Date(System.currentTimeMillis());
//        currentDate = formatter.format(date);
//        date = new Date(System.currentTimeMillis() - 86400000);
//        beforeDate = formatter.format(date);
//    }
//
//    //创建
//    @NonNull
//    @Override
//    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//        if (viewType == Msg.SYSTEM_MSG){ //系统消息
//            View itemView = LayoutInflater.from(mContext).inflate(R.layout.activity_msg_center, parent, false);
//            return new CentreHolder(itemView);
//        }
//        else if (viewType == Msg.RECEIVE_MSG){ //收到消息
//            //加载布局
//            View itemView = LayoutInflater.from(mContext).inflate(R.layout.activity_msg_left, parent, false);
//            return new LeftHolder(itemView);
//        }else if (viewType == Msg.SEND_MSG){ //发送消息
//            View itemView = LayoutInflater.from(mContext).inflate(R.layout.activity_msg_right, parent, false);
//            return new RightHolder(itemView);
//        }
//        return null;
//    }
//
//    //绑定数据
//    @Override
//    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
//        if (holder instanceof CentreHolder){
//            ((CentreHolder) holder).tvMsgcentre.setText(dataList.get(position).getContent());
//        }else if (holder instanceof LeftHolder){
//            setTime(((LeftHolder) holder).tvTime, position);
//            ((LeftHolder) holder).tvMsgleft.setText(dataList.get(position).getContent());
//        }else if (holder instanceof RightHolder){
//            setTime(((RightHolder) holder).tvTime, position);
//            ((RightHolder) holder).tvMsgRight.setText(dataList.get(position).getContent());
//        }
//
//    }
//
//    @Override
//    public int getItemCount() {
//        return dataList == null ? 0 : dataList.size();
//    }
//
//    public int getItemViewType(int position) {
//        Msg msg = dataList.get(position);
//        return msg.getType();
//    }
//    /**
//     *
//     * 显示消息时间
//     */
//    private void setTime(TextView tv, int position){
//        tv.setVisibility(View.GONE);
//        long time = dataList.get(position).getDate();
//        if (position == 0){
//            showTime(tv, time);
//        }else{
//            long time1 = dataList.get(position - 1).getDate();
//            if (time - time1 > 120000){ //两条消息间隔超过2分钟显示时间
//                showTime(tv, time);
//            }
//        }
//    }
//
//
//    /**
//     * 展示时间
//     */
//    private void showTime(TextView tv, long time){
//        tv.setVisibility(View.VISIBLE);
//
//        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
//        Date date = new Date(time);
//        String msgDate = dateFormat.format(date);
//
//        SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
//        if (msgDate.equals(currentDate)){
//            tv.setText(formatter.format(date));
//        }else if(msgDate.equals(beforeDate)){
//            tv.setText("昨天 " + formatter.format(date));
//        }else{
//            tv.setText(msgDate + " " + formatter.format(date));
//        }
//    }
//
//    /**
//     * 系统消息ViewHolder
//     */
//    static class CentreHolder extends RecyclerView.ViewHolder {
//        TextView tvMsgcentre;
//
//        public CentreHolder(@NonNull View itemView) {
//            super(itemView);
//            tvMsgcentre = itemView.findViewById(R.id.tv_msgcenter);
//        }
//    }
//
//
//    /**
//     * 收到消息ViewHolder
//     */
//    static class LeftHolder extends RecyclerView.ViewHolder {
//        //包括一个消息框和一个时间框
//        TextView tvTime;
//        TextView tvMsgleft;
//
//        public LeftHolder(@NonNull View itemView) {
//            super(itemView);
//            tvTime = itemView.findViewById(R.id.tv_time);
//            tvMsgleft = itemView.findViewById(R.id.tv_msgleft);
//        }
//    }
//
//    /**
//     * 发送消息ViewHolder
//     */
//    static class RightHolder extends RecyclerView.ViewHolder {
//        public TextView tvTime;
//        public TextView tvMsgRight;
//
//        public RightHolder(@NonNull View itemView) {
//            super(itemView);
//
//            tvTime = itemView.findViewById(R.id.tv_time);
//            tvMsgRight = itemView.findViewById(R.id.tv_msgright);
//        }
//    }
//}
//
